--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
tests/test_android_meshchat_wrapper.py v4.7.2-rc.2 (4f6eceb0) Text, 1.64 KB
T8b949e# SPDX-License-Identifier: 0BSD
T8b949e"""Resilience checks for android/app/src/main/python/meshchat_wrapper.py."""
Tff7b72from T7ee787__future__ Tff7b72import Te6edf3annotations
Tff7b72import T7ee787importlib
Tff7b72import T7ee787sys
Tff7b72import T7ee787threading
Tff7b72from T7ee787pathlib Tff7b72import Te6edf3Path
Te6edf3_REPO_ROOT Tff7b72= Te6edf3PathTb4b4b4(Tff7b72__file__Tb4b4b4)Tff7b72.Td2a8ffresolveTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ffparentsTb4b4b4[T79c0ff1Tb4b4b4]
Te6edf3_ANDROID_PY Tff7b72= Te6edf3_REPO_ROOT Tff7b72/ Ta5d6ff"Ta5d6ffandroidTa5d6ff" Tff7b72/ Ta5d6ff"Ta5d6ffappTa5d6ff" Tff7b72/ Ta5d6ff"Ta5d6ffsrcTa5d6ff" Tff7b72/ Ta5d6ff"Ta5d6ffmainTa5d6ff" Tff7b72/ Ta5d6ff"Ta5d6ffpythonTa5d6ff"
Tff7b72if Tffa657strTb4b4b4(Te6edf3_ANDROID_PYTb4b4b4) Tff7b72not Tff7b72in Te6edf3sysTff7b72.Td2a8ffpathTb4b4b4:
Te6edf3sysTff7b72.Td2a8ffpathTff7b72.Td2a8ffinsertTb4b4b4(T79c0ff0Tb4b4b4, Tffa657strTb4b4b4(Te6edf3_ANDROID_PYTb4b4b4)Tb4b4b4)
Tff7b72def Td2a8fftest_start_server_second_call_skips_while_main_blocksTb4b4b4(Te6edf3monkeypatchTb4b4b4)Tb4b4b4:
Tff7b72import T7ee787meshchatxT7ee787.T7ee787meshchat Tff7b72as T7ee787mm
Te6edf3entered Tff7b72= Te6edf3threadingTff7b72.Td2a8ffEventTb4b4b4(Tb4b4b4)
Te6edf3release Tff7b72= Te6edf3threadingTff7b72.Td2a8ffEventTb4b4b4(Tb4b4b4)
Te6edf3callsTb4b4b4: Tffa657listTb4b4b4[Tffa657intTb4b4b4] Tff7b72= Tb4b4b4[Tb4b4b4]
Tff7b72def Td2a8fffake_mainTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3callsTff7b72.Td2a8ffappendTb4b4b4(T79c0ff1Tb4b4b4)
Te6edf3enteredTff7b72.Td2a8ffsetTb4b4b4(Tb4b4b4)
Tff7b72assert Te6edf3releaseTff7b72.Td2a8ffwaitTb4b4b4(Te6edf3timeoutTff7b72=T79c0ff10.0Tb4b4b4)
Te6edf3monkeypatchTff7b72.Td2a8ffsetattrTb4b4b4(Te6edf3mmTb4b4b4, Ta5d6ff"Ta5d6ffmainTa5d6ff"Tb4b4b4, Te6edf3fake_mainTb4b4b4)
Tff7b72import T7ee787meshchat_wrapper
Te6edf3importlibTff7b72.Td2a8ffreloadTb4b4b4(Te6edf3meshchat_wrapperTb4b4b4)
Te6edf3th Tff7b72= Te6edf3threadingTff7b72.Td2a8ffThreadTb4b4b4(
Te6edf3targetTff7b72=Tff7b72lambdaTb4b4b4: Te6edf3meshchat_wrapperTff7b72.Td2a8ffstart_serverTb4b4b4(T79c0ff8000Tb4b4b4, Tff7b72NoneTb4b4b4)Tb4b4b4, Te6edf3daemonTff7b72=Tff7b72True
Tb4b4b4)
Te6edf3thTff7b72.Td2a8ffstartTb4b4b4(Tb4b4b4)
Tff7b72assert Te6edf3enteredTff7b72.Td2a8ffwaitTb4b4b4(Te6edf3timeoutTff7b72=T79c0ff10.0Tb4b4b4)
Tff7b72assert Te6edf3calls Tff7b72== Tb4b4b4[T79c0ff1Tb4b4b4]
Te6edf3meshchat_wrapperTff7b72.Td2a8ffstart_serverTb4b4b4(T79c0ff8000Tb4b4b4, Tff7b72NoneTb4b4b4)
Tff7b72assert Te6edf3calls Tff7b72== Tb4b4b4[T79c0ff1Tb4b4b4]
Te6edf3releaseTff7b72.Td2a8ffsetTb4b4b4(Tb4b4b4)
Te6edf3thTff7b72.Td2a8ffjoinTb4b4b4(Te6edf3timeoutTff7b72=T79c0ff10.0Tb4b4b4)
Tff7b72def Td2a8fftest_start_server_hook_failure_still_invokes_mainTb4b4b4(Te6edf3monkeypatchTb4b4b4)Tb4b4b4:
Tff7b72import T7ee787meshchatxT7ee787.T7ee787meshchat Tff7b72as T7ee787mm
Te6edf3callsTb4b4b4: Tffa657listTb4b4b4[Tffa657intTb4b4b4] Tff7b72= Tb4b4b4[Tb4b4b4]
Te6edf3monkeypatchTff7b72.Td2a8ffsetattrTb4b4b4(Te6edf3mmTb4b4b4, Ta5d6ff"Ta5d6ffmainTa5d6ff"Tb4b4b4, Tff7b72lambdaTb4b4b4: Te6edf3callsTff7b72.Td2a8ffappendTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4)
Tff7b72def Td2a8ffboomTb4b4b4(Tff7b72*Te6edf3_aTb4b4b4, Tff7b72*Tff7b72*Te6edf3_kTb4b4b4)Tb4b4b4:
Tff7b72raise Tf85149RuntimeErrorTb4b4b4(Ta5d6ff"Ta5d6ffhook testTa5d6ff"Tb4b4b4)
Te6edf3monkeypatchTff7b72.Td2a8ffsetattrTb4b4b4(Ta5d6ff"Ta5d6ffmeshchatx.android_push_bridge.install_websocket_hookTa5d6ff"Tb4b4b4, Te6edf3boomTb4b4b4)
Tff7b72import T7ee787meshchat_wrapper
Te6edf3importlibTff7b72.Td2a8ffreloadTb4b4b4(Te6edf3meshchat_wrapperTb4b4b4)
Te6edf3meshchat_wrapperTff7b72.Td2a8ffstart_serverTb4b4b4(T79c0ff8000Tb4b4b4, Tff7b72NoneTb4b4b4)
Tff7b72assert Te6edf3calls Tff7b72== Tb4b4b4[T79c0ff1Tb4b4b4]
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────